package com.zck.thumbup.lock;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @author 赵承康
 * @date 2025/10/17
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RedisLock {
    String key();          // 锁的Key（支持SpEL表达式，如 "#blogId"）
    long waitTime() default 3;      // 等待锁的时间（秒）
    long leaseTime() default 30;    // 锁的持有时间（秒）
    TimeUnit timeUnit() default TimeUnit.SECONDS;
}
